1. Field of the Invention
The present invention relates to the field of data processing. More particularly, the invention relates to generation and analysis of trace data indicative of processing operations performed by a processing apparatus.
2. Description of the Prior Art
In a data processing system, a trace circuit may be provided for monitoring processing operations performed by a processing circuit and generating trace data indicating characteristics of the processing operations. The generated trace data can then be analysed by a diagnostic apparatus to determine a processing outcome of the processing operations. The information derived from the trace data may be useful for diagnostic or debugging purposes, for example.
Sometimes, the processing circuit may perform a processing operation in association with a memory address. In such cases, it can be useful for the trace circuit to include in the trace data stream an indication of the memory address. For example, instruction addresses, branch target addresses, or load/store addresses may be traced. Some-trace circuits maintain an address register for storing a reference address. When an address is required to be output in the trace stream, then the trace circuit can omit higher order bits of the address if they are the same as corresponding bits of the reference address stored in the address register. By omitting bits of the address that are the same as the corresponding reference bits, the amount of trace data is reduced.
Another kind of trace unit may have address registers that are used for specific types of instructions, for example, one address register used only for instruction addresses of currently executed instructions and another address register used only for load/store addresses used by load/store instructions. However, for any particular type of instruction, the trace unit always uses the same address register.
The present technique seeks to provide a trace unit which can provide greater compression of addresses in the trace data stream.